On a software as a service platform, tenant data is strictly segregated in order to maintain separation of data belonging to different tenants. Tenant data is stored on a set of data partitions securely separated by tenant (e.g., on different computers, on different hard drives, on different virtual machines, etc.) in order to prevent users from accessing data belonging to other tenants. In some situations, tenants wish to share data for comparison purposes or to get a more complete view of a situation (e.g., salary surveys or other industry benchmarks) and they provide a data set to a third party in exchange for access to the pooled set. The tenants typically wish to perform reporting on the pooled data set—for example, computing statistics, evaluating queries, etc. The pooled data set is typically large and complex, causing query evaluation to be a complex process. This creates a problem where queries can take a long time to evaluate, degrading the user experience of multi-tenant data analysis.